package de.hhbk.azubiverwaltung.entites;

import java.io.Serializable;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;


/**
 * The persistent class for the klasse database table.
 * 
 */
@Entity
@Table(name="klasse")
public class Klasse implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="klasse_id", unique=true, nullable=false)
	private int klasseId;

	@Column(nullable=false, length=2)
	private String ausbildungsstufe;

	@Column(nullable=false, length=20)
	private String bezeichnung;

	@Column(nullable=false)
	private int einschulungsjahr;

	@Column(nullable=false, length=25)
	private String schwerpunkt;

	//bi-directional many-to-one association to Azubi
	@OneToMany(mappedBy="klasse")
	private List<Azubi> azubis;

	//bi-directional many-to-one association to Lehrer
    @ManyToOne(cascade=javax.persistence.CascadeType.ALL)
	@JoinColumn(name="lehrer_id", nullable=false)
	private Lehrer lehrer;

    public Klasse() {
    }

	public int getKlasseId() {
		return this.klasseId;
	}

	public void setKlasseId(int klasseId) {
		this.klasseId = klasseId;
	}

	public String getAusbildungsstufe() {
		return this.ausbildungsstufe;
	}

	public void setAusbildungsstufe(String ausbildungsstufe) {
		this.ausbildungsstufe = ausbildungsstufe;
	}

	public String getBezeichnung() {
		return this.bezeichnung;
	}

	public void setBezeichnung(String bezeichnung) {
		this.bezeichnung = bezeichnung;
	}

	public int getEinschulungsjahr() {
		return this.einschulungsjahr;
	}

	public void setEinschulungsjahr(int einschulungsjahr) {
		this.einschulungsjahr = einschulungsjahr;
	}

	public String getSchwerpunkt() {
		return this.schwerpunkt;
	}

	public void setSchwerpunkt(String schwerpunkt) {
		this.schwerpunkt = schwerpunkt;
	}

	public List<Azubi> getAzubis() {
		return this.azubis;
	}

	public void setAzubis(List<Azubi> azubis) {
		this.azubis = azubis;
	}
	
	public Lehrer getLehrer() {
		return this.lehrer;
	}

	public void setLehrer(Lehrer lehrer) {
		this.lehrer = lehrer;
	}
	
}